const Db = require('../../module/db/index')

exports.reguser = async (ctx, next) => { //上下文， 下一个
  // 获取请求体
  const { username, password} = ctx.request.body

  // 判断用户名和密码不能空
  if(!username || !password) {
    ctx.body = {status: 0, message: '请输入用户名和密码！'}
    return
  }
  // 查询用户名是否被占用
  const resFind = await Db.find('user',{"username":username})
  if(resFind.length !== 0) {
    ctx.body = {status: 200, message: '用户名已被占用，请更换其他用户名！'}
    return
  }
  // 没占用，插入用户信息
  try {
    const resInsert = await Db.insert('user', {"username":username,"password":password})
    if(resInsert.acknowledged) {
      ctx.body = {status:200, message:"注册成功！"}
    }else{
      ctx.body = {status:0, message:"注册失败！"}
    }
  }catch(err) {
    console.log('your verification seems dont work! throw error:' + err)
  }
  await next()
}

exports.login = async (ctx, next) => {
  const { username, password} = ctx.request.body
  // 判断用户名和密码不能空
  if(!username || !password) {
    ctx.body = {status: 0, message: '请输入用户名和密码！'}
    return
  }
  // 查找数据库,有没有该用户信息
  const resFind = await Db.find('user',{"username":username})
  if(resFind.length === 0) {
    ctx.body = {status:0, message:"该用户还没有注册！"}
    return
  }
  // 匹配用户名和密码
  if(resFind[0].username !== username || resFind[0].password !== password) {
    ctx.body = {status:0, message:"用户名或密码不正确，请重试！"}
    return
  }
  ctx.body = {status:200, message:"登录成功！"}
  await next()
}